It is now common for patients having disorders of cardiac rhythm to be treated with implantable pacemakers that provide electrical stimulation to selected chambers of the heart in the form of timed pacing pulses. The most common condition for which pacemakers are used is in the treatment of bradycardia, where the ventricular rate is too slow. Atrio-ventricular conduction defects (i.e., AV block) that are permanent or intermittent and sick sinus syndrome represent the most common causes of bradycardia for which permanent pacing may be indicated. If functioning properly, the pacemaker makes up for the heart's inability to pace itself at an appropriate rhythm in order to meet metabolic demand by enforcing a minimum heart rate and/or artificially restoring AV conduction. Pacing therapy delivered in this manner is referred to as bradycardia or “brady” pacing. Particular bradycardia pacing modes determine how the pacing pulses are delivered in response to sensed cardiac events and lapsed time intervals. Pacing therapy may also be delivered using a bradycardia pacing mode for the purpose of restoring synchronous ventricular contractions in patients with inter-ventricular or intra-ventricular conduction disorders, termed cardiac resynchronization therapy. Other implantable medical devices include devices that provide neural stimulation energy to the patient, implantable diagnostic devices, or implantable drug delivery systems.
The earliest pacemakers were hardware-based devices in which pacing decisions were made by logic circuits implemented in hardware. Most cardiac pacemakers today, however, (including implantable cardioverter/defibrillators with pacing capability) are microprocessor-based systems in which software (a.k.a. firmware, as the term is used here) run by a microprocessor commands the generation of pacing outputs, with various timers being used to alert the microprocessor as to when to pace. Such firmware-based systems exhibit great flexibility, as compared with a pacemaker implemented with dedicated hardware, since the behavior of the device can be changed simply by reprogramming the microprocessor. Controlling the delivery of paces with a firmware-based system, however, also has some disadvantages. If the microprocessor continually executes instructions during the cardiac cycle in order to process and respond to timing and sensing events, a large amount of battery power is consumed. Also, making pacing decisions with software inevitably introduces some variability into the timing of the paces, commonly referred to as pacing jitter.